home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / omniORB-2.5.0-src.tar.gz / omniORB-2.5.0-src.tar / omniORB_2.5.0 / include / omniORB2 / proxyFactory.h < prev    next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  77 lines

  1. // -*- Mode: C++; -*-
  2. //                            Package   : omniORB2
  3. // proxyFactory.h             Created on: 13/6/96
  4. //                            Author    : Sai Lai Lo (sll)
  5. //
  6. //    Copyright (C) 1996, 1997 Olivetti & Oracle Research Laboratory
  7. //
  8. //    This file is part of the omniORB library
  9. //
  10. //    The omniORB library is free software; you can redistribute it and/or
  11. //    modify it under the terms of the GNU Library General Public
  12. //    License as published by the Free Software Foundation; either
  13. //    version 2 of the License, or (at your option) any later version.
  14. //
  15. //    This library is distributed in the hope that it will be useful,
  16. //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18. //    Library General Public License for more details.
  19. //
  20. //    You should have received a copy of the GNU Library General Public
  21. //    License along with this library; if not, write to the Free
  22. //    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
  23. //    02111-1307, USA
  24. //
  25. //
  26. // Description:
  27. //    *** PROPRIETORY INTERFACE ***
  28. // 
  29.  
  30. /*
  31.  $Log: proxyFactory.h,v $
  32.  * Revision 1.5  1997/05/06  16:10:05  sll
  33.  * Public release.
  34.  *
  35. */
  36.  
  37. #ifndef __PROXYFACTORY_H__
  38. #define __PROXYFACTORY_H__
  39.  
  40. class proxyObjectFactory_iterator;
  41. class _OMNIORB2_NTDLL_ proxyObjectFactory {
  42. public:
  43.   proxyObjectFactory();
  44.   virtual ~proxyObjectFactory();
  45.   
  46.   virtual const char *irRepoId() const = 0;
  47.   // returns the Interface Repository ID.
  48.        
  49.   virtual CORBA::Object_ptr newProxyObject(Rope *r,
  50.                        _CORBA_Octet *key,
  51.                        size_t keysize,
  52.                        IOP::TaggedProfileList *profiles,
  53.                        _CORBA_Boolean release) = 0;
  54.   // returns a new proxy object.
  55.  
  56.   virtual _CORBA_Boolean  is_a(const char *base_repoId) const = 0;
  57.   // Return true if <base_repoId> is the interface repository ID of
  58.   // a base interface.
  59.  
  60.   friend class proxyObjectFactory_iterator;
  61.   static proxyObjectFactory* proxyStubs;
  62.  
  63. private:
  64.   proxyObjectFactory *pd_next;
  65. };
  66.  
  67. class proxyObjectFactory_iterator {
  68. public:
  69.   proxyObjectFactory_iterator();
  70.   ~proxyObjectFactory_iterator() {}
  71.   proxyObjectFactory *operator() ();
  72. private:
  73.   proxyObjectFactory *pd_f;
  74. };
  75.  
  76. #endif // __PROXYFACTORY_H__
  77.